home *** CD-ROM | disk | FTP | other *** search
Wrap
ddddmmmmiiiicccc((((4444)))) ddddmmmmiiiicccc((((4444)))) NNNNAAAAMMMMEEEE DMimageconverter - Digital Media image conversion and compression SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////ddddmmmm____iiiimmmmaaaaggggeeeeccccoooonnnnvvvveeeerrrrtttt....hhhh>>>> ----llllddddmmmmeeeeddddiiiiaaaa DDDDMMMMiiiimmmmaaaaggggeeeeccccoooonnnnvvvveeeerrrrtttteeeerrrr iiiicccc;;;; DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN The DDDDMMMMiiiimmmmaaaaggggeeeeccccoooonnnnvvvveeeerrrrtttteeeerrrr data type and its operations implement the Digital Media image converter subsystem. This is a framework which supports a variety of compression and decompression devices and algorithms video rate JPEG and MPEG. NOTE: Some realtime compression devices are available only as extra optional products. The DDDDMMMMiiiimmmmaaaaggggeeeeccccoooonnnnvvvveeeerrrrtttteeeerrrr data type represents an image converter context which performs a specific image conversion. The image conversion is principally a specific compression or decompression possibly including color space conversion, cropping, zooming, or other such image reformatting. The image converter context takes input from enqueued DDDDMMMMbbbbuuuuffffffffeeeerrrrssss and produces an output queue of new DDDDMMMMbbbbuuuuffffffffeeeerrrrssss representing converted data. IIIINNNNIIIITTTTIIIIAAAALLLLIIIIZZZZAAAATTTTIIIIOOOONNNN OOOOVVVVEEEERRRRVVVVIIIIEEEEWWWW An image converter is first selected on the basis of the type of conversion desired. The image converter context is then created. Appropriate buffering is created to hold the input and output data. Other producers and consumers of image data are initialized at this time as well (such as OpenGL graphics rendering and live video I/O). OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNNAAAALLLL OOOOVVVVEEEERRRRVVVVIIIIEEEEWWWW The image converter either _e_n_c_o_d_e_s or _d_e_c_o_d_e_s a given specific data format. The image converter takes input packetized in DDDDMMMMbbbbuuuuffffffffeeeerrrr''''ssss.... The image converter produces output also packetized in DDDDMMMMbbbbuuuuffffffffeeeerrrr''''ssss.... The image converter operates _a_s_y_n_c_h_r_o_n_o_u_s_l_y to the process. A process may determine when newly converted data is available using sssseeeelllleeeecccctttt on a file descriptor associated with the image converter context. IIIIMMMMAAAAGGGGEEEE CCCCOOOONNNNVVVVEEEERRRRTTTTEEEERRRR SSSSEEEELLLLEEEECCCCTTTTIIIIOOOONNNN ddddmmmmIIIICCCCGGGGeeeettttNNNNuuuummmm,,,, ddddmmmmIIIICCCCGGGGeeeettttDDDDeeeessssccccrrrriiiippppttttiiiioooonnnn,,,, and ddddmmmmIIIICCCCCCCChhhhoooooooosssseeeeCCCCoooonnnnvvvveeeerrrrtttteeeerrrr are used to discover the image converters installed in the system. CCCCOOOONNNNTTTTEEEEXXXXTTTT CCCCRRRREEEEAAAATTTTIIIIOOOONNNN ddddmmmmIIIICCCCCCCCrrrreeeeaaaatttteeee creates a DDDDMMMMiiiimmmmaaaaggggeeeeccccoooonnnnvvvveeeerrrrtttteeeerrrr context for one of the image converters discovered above. A process may create one or more DDDDMMMMiiiimmmmaaaaggggeeeeccccoooonnnnvvvveeeerrrrtttteeeerrrr contexts of the same or different image converter. PPPPaaaaggggeeee 1111 ddddmmmmiiiicccc((((4444)))) ddddmmmmiiiicccc((((4444)))) Multiple DDDDMMMMiiiimmmmaaaaggggeeeeccccoooonnnnvvvveeeerrrrtttteeeerrrr contexts are fully independent and share and exchange data only as directed by the DDDDMMMMbbbbuuuuffffffffeeeerrrr operations used in the process. ddddmmmmIIIICCCCDDDDeeeessssttttrrrrooooyyyy destroys the specified DDDDMMMMiiiimmmmaaaaggggeeeeccccoooonnnnvvvveeeerrrrtttteeeerrrr.... No further operations on the context are valid. BBBBUUUUFFFFFFFFEEEERRRRIIIINNNNGGGG A mechanism for opaquely passing memory buffering requirements from the image converter to the DDDDMMMMbbbbuuuuffffffffeeeerrrr system is available using the following operations. ddddmmmmIIIICCCCGGGGeeeettttSSSSrrrrccccPPPPoooooooollllPPPPaaaarrrraaaammmmssss adds the image converter's src (input) memory buffering requirements to the passed DDDDMMMMppppaaaarrrraaaammmmssss.... ddddmmmmIIIICCCCGGGGeeeettttDDDDssssttttPPPPoooooooollllPPPPaaaarrrraaaammmmssss adds the image converter's dst (output) memory buffering requirements to the passed DDDDMMMMppppaaaarrrraaaammmmssss.... ddddmmmmIIIICCCCSSSSeeeettttDDDDssssttttPPPPoooooooollll indicates to the image converter the DDDDMMMMbbbbuuuuffffffffeeeerrrrppppoooooooollll from which it will allocate each DDDDMMMMbbbbuuuuffffffffeeeerrrr placed in the output queue. DDDDAAAATTTTAAAA TTTTRRRRAAAANNNNSSSSFFFFEEEERRRR An image converter has one input queue and one output queue. ddddmmmmIIIICCCCSSSSeeeennnndddd places the DDDDMMMMbbbbuuuuffffffffeeeerrrr on the image converter's input queue. The meaning of the additional DDDDMMMMbbbbuuuuffffffffeeeerrrr arguments is dependent on the image converter. For example, the MPEG image converter uses this mechanism to find the reference data needed for interframe decode. ddddmmmmIIIICCCCRRRReeeecccceeeeiiiivvvveeee returns a DDDDMMMMbbbbuuuuffffffffeeeerrrr from the image converter's output queue. IIIIMMMMAAAAGGGGEEEE FFFFOOOORRRRMMMMAAAATTTT CCCCOOOONNNNTTTTRRRROOOOLLLL The process describes the image format of the input data and the format of the desired output. The DDDDMMMMppppaaaarrrraaaammmmssss passed to ddddmmmmIIIICCCCSSSSeeeettttSSSSrrrrccccPPPPaaaarrrraaaammmmssss describes the image format of input to the image converter. The DDDDMMMMppppaaaarrrraaaammmmssss passed to ddddmmmmIIIICCCCSSSSeeeettttDDDDssssttttPPPPaaaarrrraaaammmmssss describes the image format of output from the image converter. mmmmvvvvAAAAddddddddTTTTrrrraaaacccckkkkDDDDaaaattttaaaaPPPPaaaarrrraaaammmmssss and ddddmmmmSSSSeeeettttIIIImmmmaaaaggggeeeeDDDDeeeeffffaaaauuuullllttttssss set parameters useful in these calls including: DDDDMMMM____IIIIMMMMAAAAGGGGEEEE____WWWWIIIIDDDDTTTTHHHH DDDDMMMM____IIIIMMMMAAAAGGGGEEEE____HHHHEEEEIIIIGGGGHHHHTTTT DDDDMMMM____IIIIMMMMAAAAGGGGEEEE____PPPPAAAACCCCKKKKIIIINNNNGGGG PPPPaaaaggggeeee 2222 ddddmmmmiiiicccc((((4444)))) ddddmmmmiiiicccc((((4444)))) CCCCOOOONNNNVVVVEEEERRRRSSSSIIIIOOOONNNN CCCCOOOONNNNTTTTRRRROOOOLLLL ddddmmmmIIIICCCCSSSSeeeettttCCCCoooonnnnvvvvPPPPaaaarrrraaaammmmssss is used to pass parameters to the image converter to control the conversion process. All converters accept the following controls: DDDDMMMM____IIIIMMMMAAAAGGGGEEEE____QQQQUUUUAAAALLLLIIIITTTTYYYY____SSSSPPPPAAAATTTTIIIIAAAALLLL DDDDMMMM____IIIIMMMMAAAAGGGGEEEE____QQQQUUUUAAAALLLLIIIITTTTYYYY____TTTTEEEEMMMMPPPPOOOORRRRAAAALLLL DDDDMMMM____IIIIMMMMAAAAGGGGEEEE____BBBBIIIITTTTRRRRAAAATTTTEEEE VVVVIIIIDDDDEEEEOOOO IIII////OOOO ---- VVVVLLLL Image data is transported between video I/O devices and image converters using the DDDDMMMMbbbbuuuuffffffffeeeerrrr subsystem. Refer to vvvvllllEEEEvvvveeeennnnttttRRRReeeeccccvvvv((((3333ddddmmmm)))),,,, vvvvllllEEEEvvvveeeennnnttttTTTTooooDDDDMMMMBBBBuuuuffffffffeeeerrrr((((3333ddddmmmm)))),,,, and vvvvllllDDDDMMMMBBBBuuuuffffffffeeeerrrrSSSSeeeennnndddd((((3333ddddmmmm)))).... GGGGRRRRAAAAPPPPHHHHIIIICCCCSSSS RRRREEEENNNNDDDDEEEERRRRIIIINNNNGGGG AAAANNNNDDDD TTTTEEEEXXXXTTTTUUUURRRRIIIINNNNGGGG ---- OOOOppppeeeennnnGGGGLLLL Image data is transported between graphics rendering and texturing using the DDDDMMMMbbbbuuuuffffffffeeeerrrr subsystem and operations in the OpenGL DMbuffer extension. SSSSEEEEEEEE AAAALLLLSSSSOOOO dmICGetNum(3dm), dmICGetDescription(3dm), dmICChooseConverter(3dm), dmICCreate(3dm), dmICDestroy(3dm), dmICGetSrcParams(3dm), dmICSetSrcParams(3dm), dmICGetDefaultSrcParams(3dm), dmICGetDstParams(3dm), dmICSetDstParams(3dm), dmICGetDefaultDstParams(3dm), dmICGetConvParams(3dm), dmICSetConvParams(3dm), dmICGetDefaultConvParams(3dm), dmICGetSrcPoolParams(3dm), dmICGetDstPoolParams(3dm), dmICSetDstPool(3dm), dmICGetDstQueueFD(3dm), dmICGetDstQueueFilled(3dm), dmICSend(3dm), dmICReceive(3dm). dm_jpeg(3dm). dmBufferSetPoolDefaults(3dm), dmBufferCreatePool(3dm), dmBufferDestroyPool(3dm), dmBufferGetAllocSize(3dm), dmBufferGetPoolFD(3dm), dmBufferSetPoolSelectSize(3dm), dmBufferAllocate(3dm), dmBufferFree(3dm), dmBufferMapData(3dm), dmBufferGetUSTMSCpair(3dm), dmBufferSetUSTMSCpair(3dm), dmBufferGetSize(3dm), dmBufferSetSize(3dm), dmBufferGetImageType(3dm), dmBufferSetImageType(3dm), dmBufferGetGLPoolParams(3dm). PPPPaaaaggggeeee 3333